package com.jy.api.healthreord;

import com.alibaba.fastjson.JSONObject;
import com.jy.api.healthreord.dto.biaoQian.YongHuBQConfigDto;
import com.jy.api.healthreord.dto.chuyuan.ChuYuanDYDto;
import com.jy.api.healthreord.dto.chuyuan.ChuYuanDYInfoDto;
import com.jy.api.healthreord.dto.chuyuan.ChuYuanDYPageReqDto;
import com.jy.api.healthreord.dto.gerenxx.JKGeRenJBXXDTO;
import com.jy.api.healthreord.dto.jbxg.JBSiWangYXZMDto;
import com.jy.api.healthreord.dto.jiuzhen.JiuZhenDto;
import com.jy.api.healthreord.dto.jiuzhen.JiuZhenXXDTO;
import com.jy.api.healthreord.dto.jk.JKWangGeDto;
import com.jy.api.healthreord.dto.jk.JiaTingYSDto;
import com.jy.api.healthreord.dto.jk.JkHuizhenJlDto;
import com.jy.api.healthreord.dto.jk.JkZhuanzhenJlDto;
import com.jy.api.healthreord.dto.menZhen.MenZhenJFDTO;
import com.jy.api.healthreord.dto.menZhen.MenZhenJSJLDto;
import com.jy.api.healthreord.dto.menZhen.YiShengTJDto;
import com.jy.api.healthreord.dto.xiaohushi.XiaoHuShiCFDTO;
import com.jy.api.healthreord.dto.yaopin.YaoPInZJLDto;
import com.jy.api.healthreord.dto.yl.chufang.ChuFangDto;
import com.jy.api.healthreord.dto.yl.guahao.GuaHaoJLDto;
import com.jy.api.healthreord.dto.yl.guahao.GuaHaoYYJLDto;
import com.jy.api.healthreord.dto.yl.jianCha.JianChaBGDto;
import com.jy.api.healthreord.dto.yl.jianCha.JianChaFZDto;
import com.jy.api.healthreord.dto.yl.jianCha.JianChaSQDDto;
import com.jy.api.healthreord.dto.yl.jianYan.JianYanBGDto;
import com.jy.api.healthreord.dto.yl.jianYan.JianYanFZDto;
import com.jy.api.healthreord.dto.yl.jianYan.JianYanSQDDto;
import com.jy.api.healthreord.dto.yl.menZhen.MenZhenJSMXDto;
import com.jy.api.healthreord.dto.yl.menZhen.MenZhenSFMXDto;
import com.jy.api.healthreord.dto.yl.menZhen.YLHuanZheJBXXDto;
import com.jy.api.healthreord.dto.yl.ruyuan.RuYuanJLDto;
import com.jy.api.healthreord.dto.yl.ruyuan.YLZhuYuanJZJLDto;
import com.jy.api.healthreord.dto.yl.ruyuan.ZhuYuanSFMXDto;
import com.jy.api.healthreord.dto.yl.ruyuan.ZhuYuanYJKDto;
import com.jy.api.healthreord.dto.yl.shoufei.ShouFeiMXDto;
import com.jy.api.healthreord.dto.yl.shoushu.ShouShuJLDto;
import com.jy.api.healthreord.dto.yl.yaopincf.YaoPinCFJLDto;
import com.jy.api.healthreord.dto.yl.zhenduan.ZhenDuanMXDto;
import com.jy.api.healthreord.dto.yl.zhiGong.ZhiGongXXDto;
import com.jy.api.healthreord.dto.yl.zhuYuanYZ.ZhuYuanYZDto;
import com.jy.api.healthreord.dto.zhikong.GuanLianXCXDto;
import com.jy.api.healthreord.dto.zhikong.ZhiKongDataDto;
import com.jy.framework.base.entity.Page;
import com.jy.framework.base.entity.Result;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Set;

@FeignClient(name = "health-record", fallback = HealthRecordFallback.class)
public interface HealthRecordAPI {

    @PostMapping("/xiaoHuShi/judgeChongFu")
    Result<Boolean> chongFu(@RequestBody XiaoHuShiCFDTO xiaoHuShiCFDTO);

    @ApiOperation("根据就诊记录id查询门诊缴费信息")
    @GetMapping("/menZhen/getByjiuZhenId")
    Result<MenZhenJFDTO> getByjiuZhenId(@RequestParam("jiuZhenId") String jiuZhenId,
                                        @RequestParam("hospitalId") String hospitalId,
                                        @RequestParam("fuKuanZT") String fuKuanZT);

    @GetMapping("/jianYan/getJianYanFZByJZID")
    @ApiOperation("根据就诊id获取检验报告分组")
    List<JianYanFZDto> getJianYanFZByJZID(@RequestParam("jiuZhenId") String jiuZhenId,
                                          @RequestParam(value = "hospitalId", required = false) String hospitalId);

    @GetMapping("/jianYan/getJianYanBGMXBYSQDID")
    @ApiOperation("根据申请单id获取检验报告明细")
    List<JianYanBGDto> getJianYanBGMXBYYBH(@RequestParam("shenQingDId") String shenQingDId,
                                           @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jianYan/getJianYanBGMXFW")
    @ApiOperation("根据就诊id获取检验报告明细")
    List<JianYanBGDto> getJianYanBGMXFW(@RequestParam("jiuZhenId") String jiuZhenId,
                                        @RequestParam(value = "hospitalId") String hospitalId, @RequestParam(value = "xiangMuID") String xiangMuID);

    @GetMapping("/jianYan/getJianYanBGMX")
    @ApiOperation("根据检验id获取检验报告明细")
    List<JianYanBGDto> getJianYanBGMX(@RequestParam("jianYanId") String jianYanId,
                                      @RequestParam(value = "hospitalId", required = false) String hospitalId);

    @GetMapping("/jianCha/getJianChaFZByJiuZhenId")
    @ApiOperation(value = "根据就诊id获取检查申请单分组（根据日期分组）")
    List<JianChaFZDto> getJianChaFZByJiuZhenId(@RequestParam("jiuZhenId") String jiuZhenId,
                                               @RequestParam(value = "hospitalId", required = false) String hospitalId);

    @GetMapping("/jianCha/getJianChaBGMXBySQDId")
    @ApiOperation(value = "根据申请单id获取检查报告明细")
    List<JianChaBGDto> getJianChaBGMXBySQDId(@RequestParam("shengQingDId") String shengQingDId, @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jiuZhen/getJiuZhenList")
    @ApiOperation(value = "根据病人id和就诊类型获取就诊数据集合")
    List<JiuZhenXXDTO> getJiuZhenList(@RequestParam("bingRenId") String bingRenId, @RequestParam("jiuZhenLX") String jiuZhenLX);

    @GetMapping("/jiuZhen/getListByJZSJandBL")
    @ApiOperation(value = "根据就诊时间按比例获取就诊记录")
    Result<List<JiuZhenDto>> getListByJZSJandBL(@RequestParam(value = "hospitalIds", required = true) String hospitalIds, @RequestParam(value = "jiuZhenLX", required = false) String jiuZhenLX, @RequestParam(value = "kaiShiSJ", required = true) String kaiShiSJ, @RequestParam(value = "jieShuSJ", required = true) String jieShuSJ,
                                                @RequestParam(value = "biLi", required = true) int biLi);


    @GetMapping("/jianCha/getJianChaFZByBRId")
    @ApiOperation(value = "根据病人id获取检查申请单分组（根据日期分组）")
    List<JianChaFZDto> getJianChaFZByBRId(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "jiuZhenLX") String jiuZhenLX);


    @GetMapping("/jianCha/getJianChaSQDById")
    @ApiOperation(value = "根据申请单id获取检查申请单")
    JianChaSQDDto getJianChaSQDById(@RequestParam("shengQingDId") String shengQingDId, @RequestParam(value = "hospitalId") String hospitalId);


    @GetMapping("/jianYan/getJianYanFZByBRId")
    @ApiOperation("根据病人id获取检验报告分组")
    List<JianYanFZDto> getJianYanFZByBRId(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "jiuZhenLX") String jiuZhenLX);

    @GetMapping("/zhuYuanYZ/getYiZhuXXByBRId")
    @ApiOperation(value = "根据病人id获取医嘱信息")
    List<ZhuYuanYZDto> getYiZhuXXByBRId(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "hospitalId") String hospitalId, @RequestParam(value = "changQiYZBZ") Integer changQiYZBZ);

    @GetMapping("/jianYan/getJianYanBGMXByJiuZhenLSH")
    @ApiOperation("根据就诊流水号获取检验报告明细")
    List<JianYanBGDto> getJianYanBGMXByJiuZhenLSH(@RequestParam("jiuZhenId") String jiuZhenId,
                                                  @RequestParam(value = "yuanQuId", required = false) String yuanQuId,
                                                  @RequestParam(value = "hospitalId", required = false) String hospitalId);


    @GetMapping("/yaoPinCFJL/getYaoPinCFJLByBRId")
    List<YaoPinCFJLDto> getYaoPinCFJLByBRId(@RequestParam("bingRenId") String bingRenId,
                                            @RequestParam("zhiFuZT") String zhiFuZT);

    @GetMapping("/zhenduan/getByjiuZhenId")
    List<ZhenDuanMXDto> getZhenDMXSByJZId(@RequestParam("jiuZhenId") String jiuZhenId,
                                          @RequestParam("hospitalId") String hospitalId,
                                          @RequestParam("jiuZhenLX") String jiuZhenLX);

    @ApiOperation("根据就诊记录ids查询门诊缴费信息")
    @GetMapping("/zhenduan/getByjiuZhenIds")
    List<ZhenDuanMXDto> getZhenDMXSByJZIds(@RequestParam("jiuZhenIds") List<String> jiuZhenIds,
                                           @RequestParam("jiuZhenLX") String jiuZhenLX);

    @GetMapping("/yaoPinCFJL/getYaoPinCFJLByJZId")
    List<YaoPinCFJLDto> getYaoPinCFJLByJZId(@RequestParam("jiuZhenId") String jiuZhenId,
                                            @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/jianCha/getJianChaXXByJiuZhenId")
    List<JianChaSQDDto> getJianChaXXByJiuZhenId(@RequestParam("jiuZhenId") String jiuZhenId,
                                                @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jianYan/getJianYanXXByJZID")
    List<JianYanSQDDto> getJianYanXXByJZID(@RequestParam("jiuZhenId") String jiuZhenId,
                                           @RequestParam(value = "hospitalId") String hospitalId);


    @GetMapping("/jiesuan/getListByJZIdAndLX")
    List<MenZhenJSJLDto> getListByJZIdAndLX(@RequestParam("jiuZhenId") String jiuZhenId,
                                            @RequestParam("hospitalId") String hospitalId,
                                            @RequestParam("jiuZhenLX") String jiuZhenLX);


    @GetMapping("/jiuZhen/getJiuZhenXXByJZId")
    JiuZhenXXDTO getJiuZhenXXByJZId(@RequestParam("jiuZhenId") String jiuZhenId,
                                    @RequestParam("hospitalId") String hospitalId,
                                    @RequestParam("jiuZhenLX") String jiuZhenLX);


    @GetMapping("/biaoQian/getByBingRenId")
    Result<List<YongHuBQConfigDto>> getBiaoQianByBRId(@RequestParam("bingRenIds") Long[] bingRenIds);

    @GetMapping("/menzhensfmx/getListByBRID")
    List<MenZhenSFMXDto> getListByBRID(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "zhiFuZT") String zhiFuZT);

    @GetMapping("/menzhenjsjl/getListByBRID")
    List<MenZhenJSJLDto> getMenZhenJSJLListByBRID(@RequestParam("bingRenId") String bingRenId);

    @GetMapping("/menzhenjsjl/getListByBRIDAndJGDM")
    List<MenZhenJSJLDto> getMenZhenJSJLListByBRIDAndJGDM(@RequestParam("bingRenId") String bingRenId, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/ruYuan/pageByPatientIds")
    Page<RuYuanJLDto> getRuYuanJLPageByPatientIds(@RequestParam("patientIds") List<Long> patientIds,
                                                  @RequestParam("pageNo") Integer pageNo,
                                                  @RequestParam("pageSize") Integer pageSize);

    @GetMapping("/siWangYXZM/pageByPatientIds")
    Page<JBSiWangYXZMDto> getSiWangYXZMPageByPatientIds(@RequestParam("patientIds") List<Long> patientIds,
                                                        @RequestParam("pageNo") Integer pageNo,
                                                        @RequestParam("pageSize") Integer pageSize);

    @GetMapping("/shouShuJL/pageByPatientIds")
    Page<ShouShuJLDto> getShouShuJLPageByPatientIds(@RequestParam("patientIds") List<Long> patientIds,
                                                    @RequestParam("pageNo") Integer pageNo,
                                                    @RequestParam("pageSize") Integer pageSize);

    @GetMapping("/jiuZhen/pageByPatientIds")
    Page<JiuZhenXXDTO> getJiuZhenXXPageByPatientIds(@RequestParam("patientIds") List<Long> patientIds,
                                                    @RequestParam("pageNo") Integer pageNo,
                                                    @RequestParam("pageSize") Integer pageSize);

    @GetMapping("/jkGeRenJBXX/getByBRXMAndCSRQ")
    Result<List<JKGeRenJBXXDTO>> getByBRXMAndCSRQ(@RequestParam("bingRenXM") String bingRenXM, @RequestParam("chuShengRQ") String chuShengRQ);

    @GetMapping("/jkGeRenJBXX/getByZhengJianHM")
    Result<JKGeRenJBXXDTO> getByZhengJianHM(@RequestParam("zhengJianHM") String zhengJianHM, @RequestParam("zhengJianLX") String zhengJianLX);

    /**
     * 获得会诊信息
     *
     * @param yewujgdm   申请机构代码(医院)
     * @param huizhendhs 会诊单号集合
     */
    @GetMapping("/jkhuizhen/getByHuizhenDhs")
    Result<List<JkHuizhenJlDto>> getByHuizhenDhs(@RequestParam("yewujgdm") String yewujgdm, @RequestParam("huizhendhs") Set<String> huizhendhs);

    /**
     * 获得转诊信息
     *
     * @param yewujgdm     机构代码(医院)
     * @param zhuanzhendhs 转诊单号集合
     */
    @GetMapping("/jkzhuanzhen/getByZhuanzhenDhs")
    Result<List<JkZhuanzhenJlDto>> getByZhuanzhenDhs(@RequestParam("yewujgdm") String yewujgdm, @RequestParam("zhuanzhendhs") Set<String> zhuanzhendhs);

    @GetMapping("/huanzhejbxx/getByBingRenId")
    Result<YLHuanZheJBXXDto> getByBingRenId(@RequestParam("bingRenId") String bingRenId,
                                            @RequestParam("yuanQuId") String yuanQuId,
                                            @RequestParam("yiLiaoJGDM") String yiLiaoJGDM);

    @GetMapping("/wangge/getByWangGeDM")
    Result<JKWangGeDto> getByWangGeDM(@RequestParam("wanggedm") String wanggedm);

    @GetMapping("/ruYuan/getZhuYuanJLByPatientIds")
    @ApiOperation("根据patient获取用户住院数据")
    Page<YLZhuYuanJZJLDto> getZhuYuanJLByPatientIds(@RequestParam("patientIds") List<Long> patientIds,
                                                    @RequestParam("pageNo") Integer pageNo,
                                                    @RequestParam("pageSize") Integer pageSize);

    @GetMapping("/jiaTingYS/getOneByZhengJianHM")
    Result<JiaTingYSDto> getOneByZhengJianHM(@RequestParam("zhengJianHM") String zhengJianHM);

    @GetMapping("/shoufeimx/getShouFeiMXSByBRID")
    List<ShouFeiMXDto> getShouFeiMXSByBRID(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "zhiFuZT") String zhiFuZT, @RequestParam(value = "menJiZZYBZ") String menJiZZYBZ);

    @GetMapping("/shoufeimx/getShouFeiMXSByBRIDAndJGDM")
    List<ShouFeiMXDto> getShouFeiMXSByBRIDAndJGDM(@RequestParam("bingRenId") String bingRenId, @RequestParam(value = "zhiFuZT") String zhiFuZT, @RequestParam("hospitalId") String hospitalId);

    @PostMapping("/chuYuanDY/queryPageByPatientIds")
    Result<Page<ChuYuanDYDto>> queryPageByPatientIds(@RequestBody ChuYuanDYPageReqDto reqDto);

    @GetMapping("/chuYuanDY/queryInfoList")
    Result<List<ChuYuanDYInfoDto>> queryInfoList(@RequestParam("yiLiaoJGDM") String yiLiaoJGDM, @RequestParam("yuanQuId") String yuanQuId, @RequestParam("bingAnHao") String bingAnHao);

    @GetMapping("/menzhenjsmx/getListByBRID")
    List<MenZhenJSMXDto> getMenZhenJSMXListByBRID(@RequestParam("bingRenId") String bingRenId);

    @GetMapping("/menzhenjsmx/getListByBRIDAndJGDM")
    List<MenZhenJSMXDto> getMenZhenJSMXListByBRIDAndJGDM(@RequestParam("bingRenId") String bingRenId, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/ruYuan/getZhuYuanJLByBingAnHaoAndJiGouDM")
    @ApiOperation("根据病案号和机构代码获取住院记录")
    Result<YLZhuYuanJZJLDto> getZhuYuanJLByBingAnHaoAndJiGouDM(@RequestParam("bingAnHao") String bingAnHao,
                                                               @RequestParam("jiGouDM") String jiGouDM);


    @GetMapping("/shoufeimx/getListByJZID")
    @ApiOperation(value = "根据就诊id获取门诊收费明细列表")
    List<ShouFeiMXDto> getListByJZID(@RequestParam("jiuZhenId") String jiuZhenId, @RequestParam("menJiZZYBZ") String menJiZZYBZ, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/ruYuan/getZhuYuanJLByPatientIdsAndZaiYuanZT")
    @ApiOperation("根据patientIds和在院状态获取住院记录")
    Result<List<YLZhuYuanJZJLDto>> getZhuYuanJLByPatientIdsAndZaiYuanZT(@RequestParam("patientIds") List<Long> patientIds,
                                                                        @RequestParam("zaiYuanZT") Integer zaiYuanZT);

    @GetMapping("/ruYuan/getZhuYuanJLByPatientIdsAndZaiYuanZTAndJiGouDM")
    @ApiOperation("根据patientIds、在院状态、机构代码获取住院记录")
    Result<List<YLZhuYuanJZJLDto>> getZhuYuanJLByPatientIdsAndZaiYuanZTAndJiGouDM(@RequestParam("patientIds") List<Long> patientIds,
                                                                                  @RequestParam("zaiYuanZT") Integer zaiYuanZT,
                                                                                  @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/ruYuan/getZhuYuanYJKByZhuYuanHaoAndJiGouDM")
    @ApiOperation("根据住院号和机构代码获取住院预交款")
    Result<List<ZhuYuanYJKDto>> getZhuYuanYJKByZhuYuanHaoAndJiGouDM(@RequestParam("zhuYuanHao") String zhuYuanHao,
                                                                    @RequestParam("hospitalId") String hospitalId);

    @PostMapping("zhiKong/guanLian/existData")
    @ApiOperation("质控判断关联数据集数据是否存在")
    Boolean existData(@RequestBody ZhiKongDataDto zhiKongDataDto);

    @GetMapping({"/chufang/getChuFangSByJZId"})
    List<ChuFangDto> getChuFangSByJZId(@RequestParam("jiuZhenId") String jiuZhenId, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("zhiKong/guanLian/listByTableNameAndDate")
    @ApiOperation("根据表名和日期获取数据-关联性需要")
    List<JSONObject> getListByTableNameAndDate(@RequestParam("tableName") String tableName, @RequestParam("date") String date,
                                               @RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize);

    @GetMapping("zhiKong/guanLian/countByTableNameAndDate")
    @ApiOperation("根据表名和日期获取数据-关联性需要")
    Integer countByTableNameAndDate(@RequestParam("tableName") String tableName, @RequestParam("date") String date);

    @GetMapping("zhiKong/guanLian/lastData")
    @ApiOperation("根据表名查询最新的几条数据")
    List<JSONObject> lastData(@RequestParam("tableName") List<String> tableName, @RequestParam("limit") Integer limit);

    @PostMapping("zhiKong/guanLian/guanLiangYCSJ")
    @ApiOperation("关联性异常数据")
    List<JSONObject> guanLiangYCSJ(@RequestBody GuanLianXCXDto dto);

    @GetMapping("/chufang/getChuFangByCFId")
    @ApiOperation(value = "根据处方id获取处方信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "chuFangId", value = "处方id"),
            @ApiImplicitParam(name = "hospitalId", value = "医院id"),
            @ApiImplicitParam(name = "yuanQuId", value = "院区id")
    })
    ChuFangDto getChuFangByCFId(@RequestParam("chuFangId") String chuFangId, @RequestParam("hospitalId") String hospitalId, @RequestParam(value = "yuanQuId", required = false) String yuanQuId);

    @GetMapping("/jiuZhen/getJinRiMZJZJL")
    List<JiuZhenXXDTO> getJinRiMZJZJL(@RequestParam("bingRenId") Long bingRenId);


    @GetMapping("/guaHao/getJinRiGHJL")
    List<GuaHaoJLDto> getJinRiiGHJL(@RequestParam("bingRenId") Long bingRenId);

    @GetMapping("/guaHao/getMingTianYYJL")
    List<GuaHaoYYJLDto> listMingTianYYJL(@RequestParam(value = "bingRenId", required = false) Long bingRenId);

    @ApiOperation(value = "获取检查信息(包含检查报告)")
    @GetMapping("/jianCha/getJianChaXXBybingRenId")
    List<JianChaBGDto> getJianChaXXBybingRenId(@RequestParam("bingRenId") Long bingRenId);

    @ApiOperation(value = "获取检验信息(包含检验报告)")
    @GetMapping("/jianYan/getJianYanXXBybingRenId")
    List<JianYanBGDto> getJianYanXXBybingRenId(@RequestParam("bingRenId") Long bingRenId);


    @GetMapping("/jianYan/getJianYanFZByHisBRId")
    @ApiOperation("根据就诊id获取检验报告分组")
    List<JianYanFZDto> getJianYanFZByHisBRId(@RequestParam("hisBingRenId") String hisBingRenId, @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jianCha/getJianChaFZByHisBRId")
    @ApiOperation(value = "根据his病人ID获取检查申请单分组（根据日期分组）")
    List<JianChaFZDto> getJianChaFZByHisBRId(@RequestParam("hisBingRenId") String hisBingRenId,
                                             @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jianYan/getJianYanBGMXByHisBRId")
    @ApiOperation("根据his病人id获取检验报告明细")
    List<JianYanBGDto> getJianYanBGMXByHisBRId(@RequestParam("hisBingRenId") String hisBingRenId,
                                               @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/zhigongxx/huoquytyzgxx")
    ZhiGongXXDto getZhiGongXX(@RequestParam("zhiGongGH") String zhiGongGH, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/chufang/getChuFangZJLByXiangMuDM")
    YaoPInZJLDto getChuFangZJLByXiangMuDM(@RequestParam("xiangMuDM") String xiangMuDM, @RequestParam("hospitalId") String hospitalId, @RequestParam(value = "chuFangId", required = false) String chuFangId, @RequestParam("shiJianLX") String shiJianLX);

    @GetMapping("/chufang/getChuFangByGH")
    YiShengTJDto getChuFangByGH(@RequestParam("yiShengDM") String yiShengDM, @RequestParam("hospitalId") String hospitalId);

    @GetMapping("/jianYan/getJianYanBGByHisBRId")
    @ApiOperation("根据his病人id获取检验报告")
    List<JianYanBGDto> getJianYanBGByHisBRId(@RequestParam("hisBingRenId") String hisBingRenId,
                                             @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/jianCha/getJianChaBGByHisBRId")
    @ApiOperation("根据his病人id获取检查报告")
    List<JianChaBGDto> getJianChaBGByHisBRId(@RequestParam("hisBingRenId") String hisBingRenId,
                                             @RequestParam(value = "hospitalId") String hospitalId);

    @GetMapping("/zhuYuan/zhuYuanJFMX")
    @ApiOperation(value = "根据住院就诊流水号获取缴费明细")
    List<ZhuYuanSFMXDto> getJiaoFeiMXByZYJZLSH(@RequestParam(value = "zhuYuanJZLSH") String zhuYuanJZLSH);
}
